Component({

  behaviors: [],
  externalClasses: ['myClass'],
  properties: {
    power: { // 属性名
      type: String, // 类型（必填），目前接受的类型包括：String, Number, Boolean, Object, Array, null（表示任意类型）
      value: '', // 属性初始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal) { 

      } // 属性被改变时执行的函数（可选），也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
    },
    name: {
      type: String,
      value:"默认按钮",
      observer: function (newVal, oldVal) { }
    },
    width:{
      type: String,
      value:"300"
    }
  },
  data: {
    isPower:true
  }, // 私有数据，可用于模版渲染

  lifetimes: {
    // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
    attached: function () {
      let power = this.data.power
      let isPower = this._hasPower(power)
      console.log(isPower,'权限')
      this.setData({
        isPower
      })
     },
    moved: function () { },
    detached: function () { },
  },

  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached: function () { }, // 此处attached的声明会被lifetimes字段中的声明覆盖
  ready: function() { },

  pageLifetimes: {
    // 组件所在页面的生命周期函数
    show: function () { },
  },

  methods: {
    onTap(){
      var myEventDetail = {} // detail对象，提供给事件监听函数
      var myEventOption = {} // 触发事件的选项
      this.triggerEvent('click', myEventDetail, myEventOption)
    },
    _hasPower(power) {
      let hasItems = wx.getStorageSync('power');
      if (typeof hasItems == 'undefined') {
        // 未设置权限时，默认开启所有权限
        return true
      }
      if (hasItems == '') {
        return false
      }
      hasItems = ',' + hasItems + ','
      if (hasItems.indexOf(',' + power + ',') != -1) return true
      return false
    },
  }

})